//结束 3/28 17:00 v.10
//初始化 添加班级时的辅导员选择框


tableData()

function tableData() {
    layui.use(['element', 'table', 'layer', 'laypage', 'form', 'upload'], function () {

        //初始化辅导员的下拉选项
        function initFudaoyuanOps() {
            var data;
            axios.post('/user/findAllUserByFudaoyuanNoPage', {})
                .then(function (response) {
                    //Vue数据绑定会失效
                    var  res=response.data;
                    if(res.code==200){
                        console.log(res.data)
                        data=res.data;
                        new Vue({
                            el: "#selt",
                            data: {
                                ops: data
                            },
                            methods: {
                            }
                        })
                        //渲染下拉框
                        form.render();
                    }
                })
                .catch(function (error) {

                });


        }

        var element = layui.element
            , table = layui.table
            , layer = layui.layer
            , laypage = layui.laypage
            , form = layui.form,
            upload=layui.upload
        /* ********************
        * 【表格参数设置】
        * ******************** */
        /***********
         * 班级管理
         * ***********/


        var tab = table.render({
            title: '班级'  // title可以用于文件导出时的文件名设置
            , height: 520
            , elem: '#LayuiTable' // **table的id**
            , toolbar: '#toolbar'   // **工具栏的id**
           // , url: '/user/findAllUserByStu'  //******数据接口******
            , url: '/d/classe/findAllClasse'  //******数据接口******
            //******表头相关设置******
            , request: {
                pageName: 'Page' //页码的参数名称，默认：page
                , limitName: 'PageSize' //每页数据量的参数名，默认：limit
            }
            , response: {
                statusName: 'code' //规定数据状态的字段名称，默认：code
                , statusCode: 200 //规定成功的状态码，默认：0
                , msgName: 'message' //规定状态信息的字段名称，默认：msg
                , countName: 'count' //规定数据总数的字段名称，默认：count
                , dataName: 'data' //规定数据列表的字段名称，默认：data
            }
            , cols: [[
                {type: 'checkbox', align: 'center', fixed: 'left',}
                , {field: 'classeId', title: 'ID', sort: true}
                , {field: 'classeNumber', title: '班级', sort: true, editField: "classeNumber"}
                , {field: 'userName', title: '辅导员', editField: "userName", edit: 'text'}
                , {field: 'userPhone', title: '辅导员电话', sort: true, editField: "userPhone"}
                // **toolbar为操作列，需要获取操作列内容id**
                , {toolbar: '#operate', title: '操作', fixed: 'right', align: 'center'}
            ]]
            , page: true    // 开启分页
            , loading: true
        });
        // **工具栏监听事件**
        table.on('toolbar(mainTable)', function (obj) {
            var checkStatus = table.checkStatus(obj.config.id);
            switch (obj.event) {
                case 'add': {
                    //   var checkStatus = table.checkStatus('student_table'); //idTest 即为基础参数 id 对应的值
                    //    console.log(checkStatus.data);           //获取选中行的数据
                    //    console.log(checkStatus.data.length);    //获取选中行数量，可作为是否有选中行的条件
                    //    console.log(checkStatus.isAll);          //表格是否全选
                    // layer.msg('添加');
                    console.log(">>>>>>>><<<<<<<");
                    addClasseLayer();

                    break;
                }
                case 'import':
                    document.getElementById("uploadEcel").click();
                    break;
                case 'delete':
                    var data = checkStatus.data;
                    var ids = [];
                    for (var i = 0; i < data.length; i++) {
                        // console.log(data[i].userId)
                        ids.push(data[i].userId)
                    }
                    if (ids.length == 0) {
                        layer.msg("没有选中任何数据！！")
                    } else {
                        layer.confirm('真的删除  共计：' + ids.length + " 条记录", function (index) {
                            //  obj.del();  //删除缓存
                            deleteUser(ids, null)
                        });
                    }
                    break;
            }
        });
        //监听行工具事件
        table.on('tool(mainTable)', function (obj) {
            console.log(obj)
            var data = obj.data;
            //     console.log(obj+">>>>>")
            if (obj.event === 'delete') {
                layer.confirm('真的删除  ' + data.userId + "  " + data.userName, function (index) {
                    //  obj.del();  //删除缓存
                    layer.close(index);
                    var ids = [data.classeId]

                    deleteClasse(ids, obj);
                });
            } else if (obj.event === 'see') {
                    seeClasse(data.classeId)
            } else if (obj.editField === 'userNumber') {
                oldEditValue = obj.data.userNumber
                //  console.log(obj.data.userName)
            } else if (obj.editField === 'userName') {
                oldEditValue = obj.data.userName
            } else if (obj.editField === 'userPhone') {
                oldEditValue = obj.data.userPhone
            }

        });


        //弹出添加班级的弹出框
        function addClasseLayer() {
            layer.open({
                type: 1
                , title: false //不显示标题栏
                , closeBtn: true
                , area: '410'

                , shade: 0.8
                , id: 'addClassLayerOpen' //设定一个id，防止重复弹出
                , btn: ['确定', '取消']
                , btnAlign: 'c'
                , moveType: 1 //拖拽模式，0或者1
                , content: document.getElementById("addClasseLayer").innerHTML
                , success: function (layero, index) {
                    //初始化表单元素
                    initFudaoyuanOps();

                }
                , btn1: function (index, layero) {



                  var classeNumber=document.getElementById("classeNumber").value
                    var sel=document.getElementById("selt")

                    var dd=sel.getElementsByTagName("dd");
                  console.log("dd:"+dd.length)
                  for (var i=0;i<dd.length;i++)
                  {
                      if(dd[i].getAttribute("class")=="layui-this"){
                          var userId=dd[i].getAttribute("lay-value");
                          console.log(userId)
                          layer.msg("添加中....",{
                              Number:20000
                          });
                          axios.post('/class/addClass', {
                              classeNumber:classeNumber,
                              userId:userId
                          })
                              .then(function (response) {
                                  layer.closeAll()
                                  layer.msg("添加成功");
                              })
                              .catch(function (error) {
                                  layer.msg("添加失败");
                              });
                          return ;
                      }
                  }
                  layer.msg("请先选择辅导员")


                }
                , btn2: function (index, layero) {

                }
            });

        }



        //删除用户 ids[]
        function deleteClasse(ids, obj) {
            layer.msg("正在删除...", {
                Number: 9000
            });
            axios.post('/class/deleteClass',{
                ids: ids
            }).then(function (response) {
                    layer.closeAll()
                    layer.msg("删除成功");
                    if (obj != null) {
                        obj.del();
                    } else {
                        tab.reload();
                    }

                })
                .catch(function (error) {
                    layer.msg("删除失败" + error);
                    console.log(error)
                });

        }

        function modify(userId, field, value) {
            console.log(userId + field + value)
            var data = {}
            data["userId"] = userId;
            data[field] = value;

            layer.msg("正在修改...", {
                Number: 9000
            });
            axios.post('/user/updateUser', data
            )
                .then(function (response) {
                    var res = response.data;

                    if (res.code == 200) {
                        layer.msg("修改成功");
                    } else {
                        tab.read()
                    }
                })
                .catch(function (error) {
                    layer.msg("修改失败," + error);
                    console.log(error)
                    tab.read()
                });

        }

        function seeClasse(classeId) {

            layer.open({
                type: 1
                , title: false //不显示标题栏
                , closeBtn: true
                ,width:750
                ,height:650
               // , area: '410'
                ,offset: ['100px', '300px']
                , shade: 0.8
                , id: 'addClassLayerOpen' //设定一个id，防止重复弹出
                , btn: ['确定', '取消']
                , btnAlign: 'c'
                , moveType: 1 //拖拽模式，0或者1
                , content: document.getElementById("seeClasseDetileEn").innerHTML
                , success: function (layero, index) {

                }

            });

            var seeClasseTable = table.render({
                title: '班级'  // title可以用于文件导出时的文件名设置
                , height: 520
                ,width:750
                , elem: '#seeClasseDetile' // **table的id**
                , toolbar: '#seeClasseOperate'   // **工具栏的id**
                // , url: '/user/findAllUserByStu'  //******数据接口******
                , url: '/class/findUserClasse'  //******数据接口******
                ,method:'post'
                ,where:{
                    classeId:classeId
                }
                ,contentType: 'application/json'
                //******表头相关设置******
                , request: {
                    pageName: 'page' //页码的参数名称，默认：page
                    , limitName: 'pageSize' //每页数据量的参数名，默认：limit
                }
                , response: {
                    statusName: 'code' //规定数据状态的字段名称，默认：code
                    , statusCode: 200 //规定成功的状态码，默认：0
                    , msgName: 'message' //规定状态信息的字段名称，默认：msg
                    , countName: 'count' //规定数据总数的字段名称，默认：count
                    , dataName: 'data' //规定数据列表的字段名称，默认：data
                }
                , cols: [[

                     {field: 'userId', title: 'ID', sort: true}
                    , {field: 'userNumber', title: '学号', sort: true, editField: "classeNumber"}
                    , {field: 'userName', title: '姓名', editField: "userName", edit: 'text'}
                    // **toolbar为操作列，需要获取操作列内容id**
                    , {toolbar: '#seeClasseToolbar', title: '操作', fixed: 'right', align: 'center'}
                ]]
              //  , page: true    // 开启分页
                , loading: true
            });
            upload.render({ //允许上传的文件后缀
                elem: '#uploadEcel'
                //获取上传地址
                , url: document.getElementById("uploadEcel").getAttribute("url")
                , accept: 'file' //普通文件
                , exts: 'xlsx' //只允许上传压缩文件
                ,field:'file'
                ,data: {
                    classeId:classeId
                }
                ,before: function(){
                    layer.msg('导入中.......', {
                        time: 20000, //20s后自动关闭
                    });

                }
                , done: function (res) {

                 var data=res.data;
                 console.log(res);
                 if(res.code==200){
                     layer.msg('导入成功')
                 }else{
                     layer.msg('失败！  '+res.message)
                 }

                },
                error: function(res){
                    console.log(res)
                    layer.msg('网络异常：'+res)
                }
            });
            table.on('toolbar(seeClasseDetileTable)', function (obj) {
                switch (obj.event) {
                    case 'excle': {
                        console.log(">>>>>")
                        document.getElementById("uploadEcel").click();
                        break;
                    }

                }
            });
            table.on('tool(seeClasseDetileTable)',function (obj) {
                console.log(obj)
                layer.msg("正在删除...>", {
                    Number: 9000
                });
                axios.get('/classe/deleteClasseUser',{
                    params:{ userId: obj.data.userId}
                }).then(function (response) {
                   // layer.closeAll()
                    layer.msg("删除成功");
                    if (obj != null) {
                        obj.del();
                    } else {
                        tab.reload();
                    }
                }).catch(function (error) {
                        layer.msg("删除失败" + error);
                        console.log(error)
                    });
            })

        }

    })
}


